<?php

return [
    'enable' => true,
    'jwt' => [
        // 算法类型 HS256、HS384、HS512、RS256、RS384、RS512、ES256、ES384、Ed25519
        'algorithms' => 'HS512',
        // access令牌秘钥
        'access_secret_key' => 'YIRAn33mM6SzIwJNOkPnfij1JwtpLMRs',
        // access令牌过期时间，单位：秒。默认 2 小时
        'access_exp' => 7200,
        // refresh令牌秘钥
        'refresh_secret_key' => 'k86kHlf69ZkCVURvs1JbsGWPz0EZeCvC',
        // refresh令牌过期时间，单位：秒。默认 7 天
        'refresh_exp' => 604800,
        // refresh 令牌是否禁用，默认不禁用 false
        'refresh_disable' => false,
        // 令牌签发者
        'iss' => 'webman-cms.cn',
        // 某个时间点后才能访问，单位秒。（如：30 表示当前时间30秒后才能使用）
        'nbf' => 0,
        // 时钟偏差冗余时间，单位秒。建议这个余地应该不大于几分钟。
        'leeway' => 60,
        // 单设备登录
        'is_single_device' => false,
        // 缓存令牌时间，单位：秒。默认 7 天
        'cache_token_ttl' => 604800,
        // 缓存令牌前缀
        'cache_token_pre' => 'cms:token:',
        // 用户信息模型
        'user_model' => function($uid){
            return [];
        },

        /**
         * access令牌私钥
         */
        'access_private_key' => <<<EOD
-----BEGIN PRIVATE KEY-----
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
KhygRJvWnQGHda4L7W8C2oRA9UmPPOY=
-----END PRIVATE KEY-----
EOD,

        /**
         * access令牌公钥
         */
        'access_public_key' => <<<EOD
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA0Y3HzV7IjnLDZVsXEa79
oJLMC1Jq42dk7ybWTSJlqqUukIJPaLHZCd+rg22jn12coJX8bEKhA7JDpCnaqpdy
grxJIoJhw4M10ltcKqWnhtvMCGQEEl24oDcVg+P1r+sPfYx1/tds/bY3/vPwAWNm
zpYZEKnmr/+45tnaitt75RVUZQ9J9VMhv/b6EGpoun1+giGCplj49GCm7qrPN+yZ
wjCV4LOr4bKw4j1xlcknIY60/OWXBjqY3HKJyaUIwBrIyZRrSHXoB8dymWKl0Gqk
a13NrOXm9AIUkwcK+pNKv2fr9gyCdVLgXSzjc8MLDKGOmdwkoQNME1EK47IoRGxt
wA+33p7zCB5+qfG3IumoFKK54uqWgskPKwqD7GuGAnaZMJLdxK7CTCvhZ6U8pxVR
O01rN3hVn302n5UttWCHm1RpY7lwt632n/PDay0gxjM2GLqG6qlNOV1etXw/a7+t
RA9MlUPdlrc/mhId17t63SNq1ZvmWzpcqlq+eYLjYcAWuLVbnToPzwcC3V2efcpH
CMbOJq41ev9r67NNjjp/EVwPabOVu3AS2E76NQPa2dWU9ZMKQcUAb8QUZCAh7XBD
PgxoivDUGNoOXgECZydMHeYuowVyLcvRiLT73XxfkZtTGhF9lgOc5GFK8AkYNlgs
oTtJlXvGwhPhH2fzWsoraIcCAwEAAQ==
-----END PUBLIC KEY-----
EOD,

        /**
         * refresh令牌私钥
         */
        'refresh_private_key' => <<<EOD
-----BEGIN PRIVATE KEY-----
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
LXR32webFJKtVYIP/MbI/GV6WAlN4A==
-----END PRIVATE KEY-----
EOD,

        /**
         * refresh令牌公钥
         */
        'refresh_public_key' => <<<EOD
-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEApj8rbXupgh96ug1XVTm7
lhMrdEmLe2/qIgX35eKwgh139zw4aXsAv0wuVlUksin4r+VkEfm+g4ZhkxSM5Ii2
LINzxqrh5lvKs631LMs1yhTOwe74ORoOB0HiYTlgdzwMS03uknKEmmV5VGU+pRzK
XN0kEFZmGCa3c44hshl3yc1YaTXojGrq8wtgQpfpUyrRiuTQJxgQjWQJAkROg6L4
d4osZ7Zh8N+AhI8G7QUrCKdIU4sY/csNKjXbeQsePmnMYcYIFFF0kUWAu8Qh93M/
01KmJkU1EB8eNv+uz2ch32uvCuxXQi0usCcViG3KTABP4keXTtVR67kHop6PwA72
rfyZCbLIeson0bf73SVIV2Q8vJYVeK8Uv8LDKljoBcxJcI6CSfnPX5OJAByzlDrf
QYu/kugL+wBgHkN33jJoxZ6BEdZjRww44C++bGehCXmz5H3rsJjqn4WVgK4/bC2t
yHlrLH1vdwxfVIlLCtwb9c/9qfnUq6jSZMpdmgfLeIFlTcmA1zHBshha2VfFwlpW
0qmzB0zuJkYgA7oVh9dlf2IPa8xXWtTLehZNaPAyPrQhk8EFwlibrqoSGqsqhzti
B/fOavXPw+X2T43Bj/gCBkbsv0+b/MlVgqeNM1S6PCs8cDjXFINTckp7SoKrHiTJ
eOD2x7AAIubY7U2y+Fq28gECAwEAAQ==
-----END PUBLIC KEY-----
EOD,
    ],
];
